package cn.sumpu.app.guoguojie.biz;

import java.util.List;

import cn.sumpu.app.guoguojie.domain.Album;
import cn.sumpu.app.guoguojie.domain.AlbumDoing;
import cn.sumpu.app.guoguojie.domain.Doing;
import cn.sumpu.app.guoguojie.exception.AppBusinessException;
import cn.sumpu.app.guoguojie.util.PageModel;

public interface AlbumDoingBiz {
    public void saveAlbum(Album album) throws AppBusinessException;

    public void addAlbumDoing(AlbumDoing albumDoing) throws AppBusinessException;

    public void updateAlbum(Album album) throws AppBusinessException;

    public void updateAlbumDoing(AlbumDoing albumDoing) throws AppBusinessException;

    public void deleteAlbum(String albumId) throws AppBusinessException;

    public void deleteAlbumDoing(String album, String doing) throws AppBusinessException;

    public void moveAlbumSortUp(String albumId) throws AppBusinessException;

    public void moveAlbumSortDown(String albumId) throws AppBusinessException;

    public void moveAlbumSortTop(String albumId) throws AppBusinessException;

    public void moveAlbumDoingSortUp(String albumId, String doingId) throws AppBusinessException;

    public void moveAlbumDoingSortDown(String albumId, String doingId) throws AppBusinessException;

    public void moveAlbumDoingSortTop(String albumId, String doingId) throws AppBusinessException;

    public void changeAlubmDoingSort(AlbumDoing albumDoing1, AlbumDoing albumDoing2) throws AppBusinessException;

    public void changeAlubmSort(Album album1, Album album2) throws AppBusinessException;

    public int getAlbumMinSort() throws AppBusinessException;

    public int getAlbumDoingMinSort(String albumId) throws AppBusinessException;
    
    public String pustToAlbum(String pictorialIds,String doingIds) throws AppBusinessException;

    public Album getAlbumById(String albumId) throws AppBusinessException;
    
    public Doing getDoingById(String doingId) throws AppBusinessException;

    public Album getAlbumBySort(Integer sort) throws AppBusinessException;

    public AlbumDoing getAlbumDoingBySort(String albumId, Integer sort) throws AppBusinessException;

    public AlbumDoing getAlbumDoingById(String albumId, String doingId) throws AppBusinessException;

    public List<Album> getAllAlbum() throws AppBusinessException;

    public PageModel getAlbumList(Integer page, Integer pageSize, String title, Boolean isSelectAlbumDoing) throws AppBusinessException;

    public PageModel getAlbumDoingByAlbum(Integer page, Integer pageSize, String albumId) throws AppBusinessException;
}
